<!doctype html>
<html lang="en">
<head>
  <meta charset="UTF-8"/>
  <meta name="viewport" content="width=device-width, initial-scale=1.0"/>
  <meta name="theme-color" content="#F1F1F1" id="theme-color-meta">
  <meta name="description" content="Cloud Mail 是一个 Serverless 响应式邮箱服务，支持邮件发送，可部署到 Cloudflare 平台，降低服务器成本。Cloud Mail is a serverless responsive email service that supports email sending and can be deployed on Cloudflare to reduce server costs.">
  <title>Cloud Mail</title>
  <link rel="icon" href="/public/mail.png" type="image/png">
  <link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;600&display=swap" rel="stylesheet">
  <script src="https://challenges.cloudflare.com/turnstile/v0/api.js" async defer></script>
  <script>
    const uiStoreStr =  localStorage.getItem('ui')
    if (uiStoreStr) {
      const uiStore =  JSON.parse(uiStoreStr)
      const root = document.documentElement
      root.setAttribute('class', uiStore.dark ? 'dark' : '');
      const metaTag = document.getElementById('theme-color-meta');
      const isMobile =  !window.matchMedia("(pointer: fine) and (hover: hover)").matches;
      metaTag.setAttribute('content', uiStore.dark ? (isMobile ? '#141414' : '#000000') : (isMobile ? '#FFFFFF' : '#F1F1F1'));
    }
  </script>
</head>
<style>
  html {
    background: #FFFFFF;
  }
  .dark {
    background: #141414;
  }
  #loading-first {
    position: fixed;
    left: 0;
    top: 0;
    height: 100%;
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 500;
    background: var(--el-bg-color);
  }

  .loading-hide {
    pointer-events: none;
    transition: all 200ms;
    opacity: 0;
  }

  .loading-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 30px;
  }

  .circular {
    height: 30px;
    width: 30px;
    animation: loading-rotate 1s linear infinite;
  }

  .loading-path .dot1 {
    transform: translate(3.75px, 3.75px);
    fill: #409EFF;
    animation: custom-spin-move 1s infinite linear alternate;
    opacity: 0.3;
  }

  .loading-path .dot2 {
    transform: translate(calc(100% - 3.75px), 3.75px);
    fill: #409EFF;
    animation: custom-spin-move 1s infinite linear alternate;
    opacity: 0.3;
    animation-delay: 0.4s;
  }

  .loading-path .dot3 {
    transform: translate(3.75px, calc(100% - 3.75px));
    fill: #409EFF;
    animation: custom-spin-move 1s infinite linear alternate;
    opacity: 0.3;
    animation-delay: 1.2s;
  }

  .loading-path .dot4 {
    transform: translate(calc(100% - 3.75px), calc(100% - 3.75px));
    fill: #409EFF;
    animation: custom-spin-move 1s infinite linear alternate;
    opacity: 0.3;
    animation-delay: 0.8s;
  }

  @keyframes loading-rotate {
    to {
      transform: rotate(360deg);
    }
  }

  @keyframes custom-spin-move {
    to {
      opacity: 1;
    }
  }
</style>
<body>
<div id="loading-first" >
  <div class="loading-icon">
    <svg class="circular" viewBox="0 0 20 20">
      <g class="loading-path">
        <circle r="3.375" class="dot1" rx="0" ry="0"/>
        <circle r="3.375" class="dot2" rx="0" ry="0"/>
        <circle r="3.375" class="dot4" rx="0" ry="0"/>
        <circle r="3.375" class="dot3" rx="0" ry="0"/>
      </g>
    </svg>
  </div>
</div>
<div id="app"></div>
<script type="module" src="/src/main.js"></script>
</body>
</html>
